﻿using DAL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace BLL
{
    public class ProductsBLL
    {
        DigitalWorldDataContext db = new DigitalWorldDataContext();
        public List<v_Product_SelectBasic> getBasicInfoProduct()
        {
            return db.v_Product_SelectBasics.OrderByDescending(p => p.productid).ToList();
        }
        /// <summary>
        /// Hàm thêm mới sản phẩm với các thông tin cơ bản
        /// </summary>
        /// <param name="p"></param>
        public void InsertBasicProduct(product p) {
            db.sp_Products_InsertBasicInformation(p.productname, p.supplierid, p.categoryid,p.originid, p.description, p.photopath, p.dateupdated, p.unitprice, p.unitprice_sell, p.unitsinstock, p.unitsonorder, p.discount);
            db.SubmitChanges();
        }
        /// <summary>
        /// Hàm cập nhật thông tin cơ bản của 1 sản phẩm
        /// </summary>
        /// <param name="p"></param>
        public void UpdateBasicProduct(product p) {
            db.sp_Products_UpdateBasicInformation(p.productid, p.productname, p.supplierid, p.categoryid,p.originid, p.description, p.photopath, p.dateupdated, p.unitprice, p.unitprice_sell, p.unitsinstock, p.unitsonorder, p.discontinued, p.discount);
            db.SubmitChanges();
        }
        /// <summary>
        /// Hàm thêm chi tiết cho các sản phẩm laptop,tablet
        /// </summary>
        /// <param name="p"></param>
        public void UpdateLaptopTablet(product p) {
            db.sp_Products_Update_Laptop_Tablet(p.productid, p.manufacturername, p.technologycpu, p.typecpu, p.speedcpu, p.otherinfocpu, p.storageram, p.busspeed, p.diskspace, p.rotationalspeed, p.touchscreen, p.sizemh, p.graphicschipset, p.graphicsspace, p.otherinfographics, p.opticaldiscs, p.@interface, p.extendedfeatures, p.wifistandard, p.wirelessconnection, p.webcam, p.batteryinformation, p.usetime, p.os, p.otherinfoos);
            db.SubmitChanges();
        }
        /// <summary>
        /// Hàm thêm chi tiết cho các sản phẩm điện thoại di động
        /// </summary>
        /// <param name="p"></param>
        public void UpdatePhone(product p) {
            db.sp_Products_Update_Phone(p.productid, p.camera, p.movie, p.music, p.fmradio, p.record, p.otherapplication, p.ringtones, p.headphone, p.memory, p.sdcardsupport, p.contacts, p.mobilenetwork, p.gprs, p.network3g, p.gps, p.bluetooth, p.usb, p.typescreen, p.resolution, p.sizephone, p.os, p.keyboardqwerty, p.weight, p.language, p.batteryinformation, p.usetime, p.talktime, p.waittime, p.otherinfophone);
            db.SubmitChanges();
        }
    }
}
